package com.yunsc.store.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yunsc.common.utils.PageResult;
import com.yunsc.store.dto.CouponParamDTO;
import com.yunsc.store.entity.YunscCouponEntity;

import java.util.List;

/**
 * 优惠券记录表
 *
 * @author adan
 * @email 2028038953@qq.com
 * @date 2024-04-22 11:35:52
 */
public interface YunscCouponService extends IService<YunscCouponEntity> {

    /**
     * 查询优惠券列表
     *
     * @param userId
     * @param showNum 显示数量
     * @param storeId 店铺ID
     * @return 优惠券列表
     */
    List<YunscCouponEntity> queryPageCouponList(Integer userId, Integer showNum, Integer storeId);

    /**
     * 查询优惠券列表
     *
     * @return 优惠券列表
     */
    List<YunscCouponEntity> queryCouponList(Integer userId, Integer storeId);


    /**
     * 分页查询优惠券列表
     *
     * @param param    查询参数
     * @param storeId  店铺ID
     * @return 优惠券分页列表
     */
    PageResult<YunscCouponEntity> queryCouponPageList(CouponParamDTO param, Integer storeId);


    /**
     * 新增优惠券
     * @param param 优惠券参数
     * @param storeId 店铺ID
     */
    void addCoupon(CouponParamDTO param, Integer storeId);

    /**
     * 编辑优惠券
     * @param param 优惠券参数
     */
    void editCoupon(CouponParamDTO param);

    /**
     * 删除优惠券
     * @param param 优惠券参数
     */
    void deleteCoupon(CouponParamDTO param);

    /**
     * 查询优惠券详情
     * @param couponId 优惠券ID
     * @return 优惠券详情
     */
    YunscCouponEntity queryCouponDetail(Integer couponId);
}

